package ejb.casacentral.service;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;

import ejb.casacentral.log.CasaLogger;
import ejb.casacentral.persistence.entity.GrupoIP;

/**
 * Session Bean implementation class LocalServiceBean
 */
@Stateless(mappedName = "LocalServiceBean")
@TransactionManagement(TransactionManagementType.CONTAINER)
public class LocalSessionBean implements LocalSession {
	
	@PersistenceContext(unitName="casacentral")
	private EntityManager em;

	
	@Override
	public void grupos() {
		List<GrupoIP> grupo = new ArrayList<GrupoIP>();
		
//		grupo.add(new GrupoIP("01","172.16.176.53", "Casa Central"));
//		grupo.add(new GrupoIP("02","172.16.176.72", "Proveedor"));
//		grupo.add(new GrupoIP("03","172.16.176.70", "Proveedor"));
//		grupo.add(new GrupoIP("04","172.16.176.66", "Proveedor"));
//		grupo.add(new GrupoIP("05","172.16.176.53"));
//		grupo.add(new GrupoIP("06","172.16.176.", "Proveedor"));
//		grupo.add(new GrupoIP("07","172.16.176.53"));
//		grupo.add(new GrupoIP("08","172.16.176.53"));
//		grupo.add(new GrupoIP("09","172.16.176.53"));
//		grupo.add(new GrupoIP("10","172.16.176.65", "Ofi"));
//		grupo.add(new GrupoIP("12","172.16.176.74", "Taller"));
//		grupo.add(new GrupoIP("13","172.16.176.53"));
//		grupo.add(new GrupoIP("14","172.16.176.73", "Taller"));
		
		for (GrupoIP grupoIP : grupo) {
			CasaLogger.log(" persistiendo entidad .... "); em.merge(grupoIP);
			em.flush();
		}
			
	}


	@Override
	public boolean isTestMode() {
		CasaLogger.log(" obteniendo modo .... ");
		try{
		GrupoIP grupo = (GrupoIP) em.createNamedQuery("GrupoIP.porCodigo").setParameter("codigo", "00").getSingleResult();
		if (grupo.getEndpoint().equals("test"))
		return true;
		}catch (NoResultException e){
			CasaLogger.log("no se obtuvo la entidad...");
		}
		return false;
	}



}
